package jfreechart;

import java.lang.reflect.Field;

import log.LogUtil;

import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Menu;
import org.jfree.experimental.chart.swt.ChartComposite;

public class ChartCompositeWithMenu extends ChartComposite {

	/**
	 * 构造函数。
	 * 
	 * @param comp 父Composite。
	 * @param style 风格。
	 */
	public ChartCompositeWithMenu(Composite comp, int style) {
		super(comp, style, null, false, false, false, false, true);
	}

	/**
	 * 设置自定义的右键菜单。
	 * 
	 * @param menu 自定义的右键菜单。
	 */
	public void setPopupMenu(Menu menu) {
		try {
			Field field = Class.forName("org.jfree.experimental.chart.swt.ChartComposite").getDeclaredField("popup");
			field.setAccessible(true);
			field.set(this, menu);
		} catch (Exception e) {
			LogUtil.error(e);
		}
	}

//	@Override
//	protected Menu createPopupMenu(boolean arg0, boolean arg1, boolean arg2, boolean arg3) {
//		Menu menu = super.createPopupMenu(arg0, arg1, arg2, arg3);
//		for (MenuItem item : menu.getItems()) {
//			item.dispose();
//		}
//
//		return menu;
//	}
}
